1. Field of the Invention
This invention relates to storing data and more particularly relates to converting a storage request to a data storage device to an append data storage command.
2. Description of the Related Art
Traditional data storage devices, such as disk drives, optical drives, etc. often operate as a random access device to store data. Random access is typically the ability to access an arbitrary element of a sequence in equal time. This differs from sequential access where data is stored sequentially and also accessed sequentially such that access time varies significantly based on location of data. For example, a tape for storing data is a sequential device. Accessing one data element can take a different amount of time since one data element may be located close to the where a read head is located and another data element may take longer to access because the tape must be forwarded or reversed to get to the second data element. A random access device, such as a memory chip, a disk drive, or solid-state storage, operates as a random access device because access time to every data element on the random access device requires approximately the same access time. Random access is desirable because of the predictable nature and efficiency of data access. Some devices, such as memory chips, support both random read and random write, typically supporting the ability to overwrite data with updated data. Some devices, such as flash memory, support random read, but require an entire region of memory to be erased (e.g., an erase block or erase region) before data can be written into the region.
Typically, a file system communicates with a random access storage device using low level commands. The file system manages where the data is placed. The low level commands typically include a physical address and a data length in a command to store or access data. Data in a random access storage device may be updated typically in a read-modify-write operation where data at a particular address is read, modified, and then written to the same location where it was stored.
While the concept of a random access device is desirable, random access may cause problems in certain types of data storage. For example, random access may cause certain locations in the storage device to used much more than other locations. This aspect of random access may be detrimental in flash memory because typically each memory cell in flash memory can only be used a certain number of times before it must be reconditioned or becomes unreliable.